

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0366 */
/* at Wed Dec 23 17:55:22 2009
 */
/* Compiler settings for .\maptypes.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__


#ifndef __maptypes_h__
#define __maptypes_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

/* header files for imported files */
#include "oaidl.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 

#ifndef __IjMapAutomationTypes_INTERFACE_DEFINED__
#define __IjMapAutomationTypes_INTERFACE_DEFINED__

/* interface IjMapAutomationTypes */
/* [auto_handle][unique][version] */ 

#define	newval	( -4 )

typedef /* [v1_enum] */ 
enum tagGeometryType
    {	emGeometry	= 0,
	emPoint	= 1,
	emCurve	= 2,
	emLineString	= 3,
	emSurface	= 4,
	emPolygon	= 5,
	emGeometryCollection	= 6,
	emMultiPoint	= 7,
	emMultiCurve	= 8,
	emMultiLineString	= 9,
	emMultiSurface	= 10,
	emMultiPolygon	= 11,
	emLinearRing	= 12
    } 	GeometryType;

typedef struct tagDMS
    {
    double Degrees;
    double Minutes;
    double Seconds;
    } 	DMS;

typedef struct tagPointFloat
    {
    float X;
    float Y;
    } 	PointFloat;

typedef struct tagPointsFloat
    {
    int pointCounts;
    PointFloat points[ 1 ];
    } 	PointsFloat;

typedef struct tagMapSize
    {
    double Width;
    double Height;
    } 	MapSize;

typedef struct tagRecordField
    {
    wchar_t FieldName[ 256 ];
    VARIANT Value;
    } 	RecordField;

typedef struct tagFeatureRecord
    {
    int count;
    RecordField Value[ 1 ];
    } 	FeatureRecord;

typedef struct tagPointEntity
    {
    double x;
    double y;
    } 	PointEntity;

typedef struct tagMultiPointEntity
    {
    int pointCount;
    PointEntity points[ 1 ];
    } 	MultiPointEntity;

typedef struct tagLineEntity
    {
    int bufferLength;
    int pointCount;
    double data[ 1 ];
    } 	LineEntity;

typedef struct tagMultiLineEntity
    {
    int bufferLength;
    int lineCount;
    LineEntity lines[ 1 ];
    } 	MultiLineEntity;

typedef struct tagPolygonEntity
    {
    int bufferLength;
    int lineCount;
    LineEntity lines[ 1 ];
    } 	PolygonEntity;

typedef struct tagMultiPolygonEntity
    {
    int bufferLength;
    int polygonCount;
    PolygonEntity polygons[ 1 ];
    } 	MultiPolygonEntity;

typedef struct tagShapeHeader
    {
    int bufferLength;
    int shapeType;
    int shapeID;
    int entityCount;
    } 	ShapeHeader;

typedef struct tagShapeEntity
    {
    ShapeHeader header;
    byte data[ 1 ];
    } 	ShapeEntity;

typedef struct tagLayerEntity
    {
    int bufferLength;
    int entityCount;
    ShapeEntity entity[ 1 ];
    } 	LayerEntity;



extern RPC_IF_HANDLE IjMapAutomationTypes_v1_0_c_ifspec;
extern RPC_IF_HANDLE IjMapAutomationTypes_v1_0_s_ifspec;
#endif /* __IjMapAutomationTypes_INTERFACE_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


